#include<iostream>
#include<cstring>
#include<vector>
using namespace std;

//class Solution {
//public:
//
//    string addStrings(string num1, string num2)
//    {
//        string str;
//        int end1 = num1.size() - 1;
//        int end2 = num2.size() - 1;
//        int next = 0;
//        while (end1 >= 0 || end2 >= 0)
//        {
//            int val1 = 0, val2 = 0;
//            if (end1 >= 0)
//            {
//                val1 = num1[end1] - '0';
//            }
//            if (end2 >= 0)
//            {
//                val2 = num2[end2] - '0';
//            }
//            str.insert(str.begin(), (val1 + val2 + next) % 10 + '0');
//            next = (val1 + val2 + next) / 10;
//            end1--;
//            end2--;
//        }
//        if (next == 1)
//            str.insert(str.begin(), next + '0');
//        return str;
//    }
//    string multiply(string num1, string num2)
//    {
//
//        if (num1 == "0")
//            return num1;
//        if (num2 == "0")
//            return num2;
//        string s1;
//        string s2;
//        size_t end1 = num1.size();
//        size_t end2 = num2.size();
//        int sum = 0;
//        int i = 0;
//        int next = 0;
//        while (end2--)
//        {
//            int val1 = num2[end2]-'0';
//            int val2 = stoi(num1);
//            while (end1--)
//            {
//                s2.insert(s2.begin(), (val1 * val2 + next) % 10-'0');
//                next = (val1 * val2+next) / 10;
//            }
//            for (int j = 0; j < i; j++)
//            {
//                s2.push_back('0');
//            }
//            s1 = addStrings(s1, s2);
//            i++;
//        }
//        return s1;
//    }
//};

//class Solution {
//public:
//    string reverseStr(string s, int k)
//    {
//        int len = s.size();
//        for (int i = 0; i <= len; i += 2 * k)
//        {
//            reverse(s.begin() + i, s.begin() + min(k + i, len));
//        }
//        return s;
//    }
//};
//
//
//int main()
//{
//
//	return 0;
//}

//
//class string
//
//{
//
//public:
//
//	string(const char* str = "");
//
//		string(const string& s);
//
//	string& operator=(const string& s);
//
//	~string();
//
//private:
//
//	char* _str;
//
//};

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        size_t size = nums.size();
        int n = 0;
        while (n < nums.size())
        {
            if (nums[n] == nums[n + 1])
            {
                nums.erase(nums.begin() + n);
            }
            else
            {
                n++;
            }
        }
        return nums.size();
    }
};

int main()
{
    vector<int> num;
    num.push_back(1);
    num.push_back(1);
    num.push_back(2);
    /*num.push_back(1);
    num.push_back(1);
    num.push_back(1);*/
    Solution s;
    s.removeDuplicates(num);

    return 0;
}